package TarryDAOS;

import Herramientas.PasarelaDatos;
import Herramientas.ResultSets;
import TarryDTOS.ImpuestosDTO;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Alan
 */
public class ImpuestosDAO {

    private PasarelaDatos db;
    private ResultSets res;

    public ImpuestosDAO() {
        db = new PasarelaDatos();
        res = new ResultSets();
    }

    /**
     * ALAN GONZALEZ METODO PARA obtener la configuracion de impuestos
     *
     * @return
     */
    public ImpuestosDTO configuracionImpuestos() {
        db.openDatabase();
        ImpuestosDTO impuestosDTO = new ImpuestosDTO();
        String query = "SELECT * FROM impuestos where impuestos.id = 1 ";
        ResultSet rst = db.executeQuery(query);
        try {
            while (rst.next()) {
                impuestosDTO = res.impuestosDTO(rst);
            }
        } catch (SQLException ex) {
            Logger.getLogger(ImpuestosDAO.class.getName()).log(Level.SEVERE, null, ex);
        }
        db.closeDatabase();
        return impuestosDTO;
    }

    /**
     * ALAN GONZALEZ 
     * METODO PARA ACTUALIZAR LAS CONFIGURACIONES DE IMPUESTOS
     * ESTOS CAMBIOS AFECTAN TODA EL AREA FISCAL DEL DOMINIO
     * @param impuestosDTO 
     */
    public void ActualizaConfiguracionImpuestos(ImpuestosDTO impuestosDTO) {
        db.openDatabase();
        String query = "UPDATE impuestos SET ";
        query += " impuestos.iva = " + impuestosDTO.getIva();
        query += ", impuestos.isr = " + impuestosDTO.getIsr();
        query += ", impuestos.ispt = " + impuestosDTO.getIspt();
        query += ", impuestos.ieps = " + impuestosDTO.getIeps();
        query += ", impuestos.ietu = " + impuestosDTO.getIetu();
        query += ", impuestos.ide = " + impuestosDTO.getIde();
        query += " WHERE";
        query += " impuestos.id = 1;";
        db.execute(query);
        db.closeDatabase();
    }
}
